在java中打开文件后会发生什么
假设使用JFilechooser,我们选择了一个包含1行的文本文件,比如。。。“你好,世界”
File file = new File("someFile.txt")
当我们打印文件内容时,我们得到"hello world"
但是,如果我们更改了文本文件的内容并添加了一些新行,然后再次打印,会发生什么呢?java是否将文件存储在内存中?或者它会再次读取,然后打印我们添加的新行
你可以在下面搜索框中键入要查询的问题!
假设使用JFilechooser,我们选择了一个包含1行的文本文件,比如。。。“你好,世界”
File file = new File("someFile.txt")
当我们打印文件内容时,我们得到"hello world"
但是,如果我们更改了文本文件的内容并添加了一些新行,然后再次打印,会发生什么呢?java是否将文件存储在内存中?或者它会再次读取,然后打印我们添加的新行
# 1 楼答案
当您创建一个
File
时,实际上什么都没有发生。文件的位置是存储的,没有其他内容。这就像设置GPS去某个地方,而不是开车去那里从Javadoc:
当您从文件中读取时,您将获得文件的内容
# 2 楼答案
那要看你做什么了。规则很简单:当您使用
FileInputStream
或FileReader
再次阅读时,您将始终获得最新的内容。如果文件未经编辑,操作系统可能会在内存中对此进行优化。如果您只是将文件内容保存在一个自行构造的缓冲区(例如:aString
或abyte[]
)中,并且文件发生了变化,那么缓冲区当然将保持不变